package com.huaxin.hxmodulesystem.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huaxin.hxmodulesystem.dto.ResponseResult;
import com.huaxin.hxmodulesystem.models.Permission;
import com.huaxin.hxmodulesystem.models.RolePermission;

import java.util.List;

public interface RolePermissionService extends IService<RolePermission> {
    /**
     * 添加权限与角色的关系
     *
     * @param permissionId 权限ID
     * @param roleId       角色ID
     * @return
     */
    ResponseResult<String> addPermissionRole(String permissionId, String roleId);

    /**
     * 删除权限与角色的关系
     *
     * @param permissionId 权限ID
     * @param roleId       角色ID
     * @return
     */
    Boolean deletePermissionRole(String permissionId, String roleId);

    /**
     * 根据角色id，查询权限列表
     *
     * @param roleId 角色ID
     * @return
     */
    List<Permission> queryPermissionListByRoleId(String roleId, Integer userType, String orgId);

    /**
     * 根据角色id，查询权限列表
     *
     * @param roleId 角色ID
     * @return
     */
    ResponseResult<Page<Permission>> queryPermissionListByRole(Integer pageNum, Integer pageSize, String roleId);

}